//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _ModelDetailAccuracy_h__
#define _ModelDetailAccuracy_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "libraries.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class ModelDetailAccuracy { 

  private:

    String*        toString;

  protected:

    String*        className;
    float          rocArea;
    float          fMeasure;
    float          recall;
    float          precision;
    float          falsePositiveRate;
    float          truePositiveRate;

  public:

    ModelDetailAccuracy ();
    ModelDetailAccuracy (const ModelDetailAccuracy&);
    ModelDetailAccuracy (const ModelDetailAccuracy*);

    ~ModelDetailAccuracy ();

    void           ClassName (String* className);
    void           RocArea (float rocArea);
    void           FMeasure (float fMeasure);
    void           Recall (float recall);
    void           Precision (float precision);
    void           FalsePositiveRate (float falsePositiveRate);
    void           TruePositiveRate (float truePositiveRate);

    String*        ClassName (void);
    float          RocArea (void);
    float          FMeasure (void);
    float          Recall (void);
    float          Precision (void);
    float          FalsePositiveRate (void);
    float          TruePositiveRate (void);

    String*        ToString (int);
    String*        ToString (void);
    String*        ToStringHeader (void);
    String*        ToStringWeightedLine (int);
    String*        ToStringWeightedLine (void);
    bool           LoadFromLine (String* line);

    ModelDetailAccuracy operator= (const ModelDetailAccuracy& modelDetailAccuracy);

};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
